App({
  onLaunch() {
    // 初始化全局数据
    this.globalData = {
      cartCount: 0,
      showPrivacy: false,
      privacyContractName: '《隐私保护指引》'
    };
    
    // #ifdef MP-WEIXIN
    // 检查是否需要显示隐私协议
    wx.getPrivacySetting({
      success: (res) => {
        if (res.needAuthorization) {
          this.globalData.showPrivacy = true;
          this.globalData.privacyContractName = res.privacyContractName || '《隐私保护指引》';
        }
      },
      fail: () => {
        console.log('获取隐私设置失败');
      }
    });
    // #endif
    
    // 获取本地存储的用户信息
    let userInfo = uni.getStorageSync('userInfo') || '';
    if(userInfo.id){
      // 更新登录状态
      uni.getStorage({
        key: 'userInfo',
        success: (res) => {
          this.globalData.userInfo = res.data;
        }
      });
    }
  },
  
  onShow() {
    // 更新购物车数量
    this.updateCartCount();
  },
  
  onHide() {
    // 页面隐藏时的操作
  },
  
  // 页面切换时调用
  onPageNotFound() {
    // 页面未找到时的操作
  },
  
  // 更新购物车数量
  updateCartCount() {
    try {
      // 从store获取购物车数量
      const store = require('./store').default;
      if (store && store.state && store.state.app && store.state.app.cartCount !== undefined) {
        this.globalData.cartCount = store.state.app.cartCount;
        
        // 通知自定义tabbar更新
        // #ifdef MP-WEIXIN
        if (typeof this.getTabBar === 'function' && this.getTabBar()) {
          const tabBar = this.getTabBar();
          if (tabBar && typeof tabBar.getCartCount === 'function') {
            tabBar.getCartCount();
          }
        }
        // #endif
        
        // 通知Vue组件更新
        // #ifndef MP-WEIXIN
        uni.$emit('updateCartCount');
        // #endif
      }
    } catch(e) {
      console.log('更新购物车数量失败', e);
    }
  },
  
  globalData: {
    userInfo: null,
    cartCount: 0
  }
});